//
//  DQTabbar.m
//  DQBaisibudejie
//
//  Created by 杜倩 on 16/9/7.
//  Copyright © 2016年 杜倩. All rights reserved.
//

#import "DQTabbar.h"
#import "DQPublishViewController.h"
@implementation DQTabbar

-(UIButton *)button{
    if (_button==nil) {//只定义一次
        _button=[UIButton buttonWithType:UIButtonTypeCustom];
        [_button setImage:[UIImage imageNamed:@"tabBar_publish_icon"] forState:UIControlStateNormal];//默认状态
        [_button setImage:[UIImage imageNamed:@"tabBar_publish_click_icon"] forState:UIControlStateHighlighted];//选中状态
        

        [_button addTarget:self action:@selector(pushClick) forControlEvents:UIControlEventTouchUpInside];
        
    }
    return _button;
}

#pragma mark 重新布置内部子控制器的位置--系统自动调用该方法
-(void)layoutSubviews{
    [super layoutSubviews];
    //self.backgroundColor=[UIColor lightGrayColor];
    
    //重新设置内部的5个控件，即重新设置他们的frame
    CGFloat w=self.frame.size.width/5;
    CGFloat h=self.frame.size.height;
    //x坐标改变，y坐标不变--高度不变
    CGFloat y=0;
    int index = 0;//设置索引--告诉排列到第几个
    
    //遍历存在哪些子控件
    for (UIControl *view in self.subviews) {
        NSLog(@"%@",view);
        //判断五个控件哪个是按钮NSStringFromClass--把类转化为字符串
        
        //设置发表按钮的左边的精华和最新
        if (![@"UITabBarButton" isEqualToString:NSStringFromClass(view.class)] ) {//内部存在的UITabBarButton是否等于view
            continue;//结束本次循环，继续下次循环
            //break；结束整个循环
        }

        CGFloat x=index *w;
        if (index>=2) {//设置发表(button)右边的两个按钮-关注和我的
            x +=w;//直接跳过按钮的宽度
        }
        //四个按钮的添加监听事件--UIView继承与UIControl
        [view addTarget:self action:@selector(Click) forControlEvents:UIControlEventTouchUpInside];
        view.frame = CGRectMake(x, y , w, h);
        //设置X值，与索引有关系
        index ++;
    }
    //第三个的坐标
        _button.bounds = CGRectMake(0, 0, w,h);
        _button.center = CGPointMake(self.frame.size.width/2, self.frame.size.height/2);//button位置设置为中心点
    [self addSubview:self.button];//将按钮直接添加到tabbar上
}


#pragma Mark 四个按钮的监听事件--实现跳转，刷新
-(void)Click{
    NSLog(@"123");
}


#pragma mark 按钮单击跳转事件
-(void)pushClick{
    DQPublishViewController *publish=[[DQPublishViewController alloc] init];
    //没有控制器的情况下，可以通过[UIApplication sharedApplication].keyWindow.rootViewController来设置根控制器
    [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:publish animated:YES completion:nil];
}


@end
